"""
题目5: 输入输出
难度: ★☆☆☆☆
类型: 基础语法

要求:
1. 使用input()函数获取用户输入的名字
2. 使用input()函数获取用户输入的年龄
3. 使用input()函数获取用户输入的身高
4. 将输入的年龄转换为整数，身高转换为浮点数
5. 使用print()函数输出格式化的信息
6. 计算并输出用户的BMI指数（体重/身高²）

提示:
- input()函数返回的是字符串
- 使用int()函数转换为整数
- 使用float()函数转换为浮点数
- 注意处理输入错误的情况

示例输出:
请输入你的名字: 张三
请输入你的年龄: 25
请输入你的身高(米): 1.75
请输入你的体重(公斤): 70
你好，张三！
你的年龄是: 25岁
你的身高是: 1.75米
你的BMI指数是: 22.86
"""

# 请在下面编写你的代码
# 1. 获取用户输入
name = input("请输入你的名字: ")
age_str = input("请输入你的年龄: ")
height_str = input("请输入你的身高(米): ")
weight_str = input("请输入你的体重(公斤): ")

# 2. 转换数据类型
try:
    age = int(age_str)
    height = float(height_str)
    weight = float(weight_str)
    
    # 3. 输出信息
    print(f"你好，{name}！")
    print(f"你的年龄是: {age}岁")
    print(f"你的身高是: {height}米")
    print(f"你的体重是: {weight}公斤")
    
    # 4. 计算BMI
    bmi = weight / (height ** 2)
    print(f"你的BMI指数是: {bmi:.2f}")
    
    # 5. BMI分类
    if bmi < 18.5:
        print("体重状态: 偏瘦")
    elif bmi < 24:
        print("体重状态: 正常")
    elif bmi < 28:
        print("体重状态: 偏胖")
    else:
        print("体重状态: 肥胖")
        
except ValueError:
    print("输入错误！请确保年龄是整数，身高和体重是数字。")

# 扩展练习：更多输入输出操作
print("\n=== 扩展练习 ===")
# 获取多个数字输入
numbers_str = input("请输入几个数字，用空格分隔: ")
try:
    numbers = [float(x) for x in numbers_str.split()]
    print(f"输入的数字: {numbers}")
    print(f"数字个数: {len(numbers)}")
    print(f"最大值: {max(numbers)}")
    print(f"最小值: {min(numbers)}")
    print(f"平均值: {sum(numbers)/len(numbers):.2f}")
except ValueError:
    print("输入格式错误！") 